A otimização no ambiente HIP deve ser tratada como uma disciplina empírica rigorosa e não como uma série de palpites intuitivos. Ao adotar um fluxo de trabalho sistemático, os desenvolvedores garantem que cada modificação de código seja justificada por dados, afastando a engenharia de desempenho da "superstição de otimização" e levando-a a um ciclo repetível e científico de hipótese e verificação.
O Fluxo de Trabalho de 6 Etapas
As diretrizes de desempenho do HIP recomendam uma sequência sistemática:
- Medir uma base: Determine o tempo atual de execução e a taxa de transferência.
- Perfil do programa: Use
rocprofv3para coletar contadores de hardware. - Identificar o gargalo: Determine se você está limitado por computação, memória ou latência.
- Aplicar otimizações direcionadas: Foque apenas no gargalo identificado.
- Re-medir: Verifique se a mudança realmente melhorou o desempenho.
- Iterar: Repita o processo até atingir os objetivos.
Evite Superstições de Otimização
Ganhos de desempenho devem ser resultados reprodutíveis de interações específicas com o hardware. Evite esses padrões anti-tipo:
- Alterar o código do kernel antes de medir o desempenho atual.
- Ajustar o tamanho do bloco sem saber se o kernel é limitado pela memória.
- Perseguir números de ocupação sem prova de que eles importam para a carga de trabalho específica.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>